package com.example.clock_demo.mapper;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.clock_demo.entitys.Scheduling;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface SchedulingMapper extends BaseMapper<Scheduling> {
    // 继承 BaseMapper<Scheduling> 后，您就自动获得了基本的 CRUD 方法。
    // 如果需要更复杂的排班查询（例如，查询某个日期范围内的所有排班，
    // 或某个班组在特定日期的排班），可以在这里添加自定义方法，或在Service层使用Wrapper。

    /**
     * 根据查询条件获取唯一的员工工号列表。
     * @param queryWrapper 查询条件
     * @return 唯一的员工工号字符串列表
     */
    @Select("SELECT DISTINCT employee_number FROM scheduling ${ew.customSqlSegment}")
    List<String> selectDistinctEmployeeNumbers(@Param("ew") QueryWrapper<Scheduling> queryWrapper);
}